학습 목표
[9정03-01] 실생활의 문제를 분석하여 핵심 요소를 추출하고 추상화한다
- 문제를 해결 가능한 형태로 바꾸는 추상화의 의미와 필요성을 설명할 수 있다.
- 문제의 초기·현재·목표 상태를 구분하여 정의할 수 있다.
- 문제에서 핵심 요소를 추출하고, 큰 문제를 작은 문제로 분해할 수 있다.
- 여러 문제에서 반복되는 규칙(패턴)을 찾아낼 수 있다.
생각 열기 🤔
"코끼리를 냉장고에 넣는 방법"이라는 오래된 농담이 있어요. 정답은 이렇대요.
- 냉장고 문을 연다
- 코끼리를 넣는다
- 냉장고 문을 닫는다
웃기지만 여기엔 중요한 비밀이 숨어 있어요. 아무리 황당한 문제도 "문을 연다 → 넣는다 → 닫는다"처럼 작은 단계로 쪼개면 누구나 따라 할 수 있게 된다는 거예요.
💡 컴퓨터에게 일을 시키려면 바로 이렇게 생각해야 해요. 이번 시간엔 그 사고법 — 컴퓨팅 사고력의 기초를 배웁니다.
컴퓨팅 사고력의 네 기둥
Computational Thinking
컴퓨터 과학자들이 어려운 문제를 푸는 방법을 정리한 것이 컴퓨팅 사고력이에요. 크게 네 가지 도구로 이루어져 있어요. 이번 단원 전체가 이 네 기둥 위에 세워집니다!
① 분해
Decomposition
큰 문제를 다루기 쉬운 작은 문제들로 쪼개기
② 패턴 인식
Pattern Recognition
반복되는 규칙·공통점 찾기
③ 추상화
Abstraction
핵심만 남기고 불필요한 것은 덜어내기
④ 알고리즘
Algorithm
해결 순서를 단계별로 설계하기 (다음 시간!)
🧭 오늘은 분해 · 패턴 인식 · 추상화 세 가지를 직접 체험해 봅니다. ④ 알고리즘은 다음 시간에 이어져요!
1. 추상화(Abstraction)란?
핵심만 남기고 단순하게
📚 정의
추상화란 복잡한 대상에서 지금 필요한 핵심만 뽑아내고, 덜 중요한 것은 과감히 생략하는 사고 방식이에요. "모든 걸 다 표현하기"가 아니라 "목적에 맞게 단순하게 만들기"가 핵심입니다.
🚇 대표 사례: 지하철 노선도
🗺️ 실제 지도
- • 정확한 거리·방향·곡선까지 표현
- • 도로·건물·강·산이 모두 빼곡
- • 환승역 찾기엔 너무 복잡해요 😵
📊 지하철 노선도 (추상화!)
- • 노선과 역을 단순한 선·점으로만
- • 실제 거리·방향은 과감히 무시
- • "어디서 갈아탈까?"가 한눈에 😊
💡 지하철을 탈 때 우리에게 필요한 건 "역 순서와 환승 정보"뿐! 그래서 나머지는 모두 지운 거예요.
🎮 인터랙티브 · 추상화 연습
친구에게 우리 집까지 오는 길을 설명하려고 해요. 길 안내에 꼭 필요한 정보는 남기기, 없어도 되는 정보는 지우기를 골라 보세요!
2. 문제 분석하기 — 세 가지 상태
초기 · 현재 · 목표 상태
문제를 풀기 전에 "지금 어디에 있고, 어디로 가야 하는지"를 먼저 알아야 해요. 모든 문제는 세 가지 상태로 정리할 수 있어요. 문제 해결이란 결국 현재 상태를 조금씩 바꿔 목표 상태로 옮기는 일이랍니다.
① 초기 상태
처음 주어진 상황
문제가 시작될 때의 조건과 가진 것. 출발점이에요.
② 현재 상태
풀어가는 중간
해결 과정 중 계속 바뀌는 상태. 이걸 어떻게 바꿀지가 핵심!
③ 목표 상태
도달할 결과
문제가 다 풀린 모습. 도착점이에요.
🤖 인터랙티브 · 로봇을 목표 칸으로!
로봇(🤖)을 초기 상태(왼쪽 위)에서 목표 상태(별 ⭐)까지 옮겨 보세요. 버튼을 누를 때마다 현재 상태가 바뀌어요.
3. 핵심 요소 뽑아내기
필요한 정보 vs 없어도 되는 정보
문제 속에는 꼭 필요한 정보와 없어도 되는 정보가 뒤섞여 있어요. 핵심만 골라내면 문제가 갑자기 쉬워 보입니다. 이것도 추상화의 한 종류예요!
🖍️ 인터랙티브 · 핵심 정보에 밑줄 긋기
아래 문제에서 문제를 푸는 데 꼭 필요한 정보를 클릭해 표시하세요. 다 골랐으면 채점!
없어도 되는 정보
- ❌ 민수라는 이름
- ❌ 가방 색깔(분홍)
- ❌ 정확한 거리 1.2km
- ❌ 어제 날씨
꼭 필요한 정보
- ✅ 출발 시각(8시) · 도착 제한(8시 15분)
- ✅ 자전거 6분 / 도보 18분
- ✅ 남은 시간 = 15분
4. 문제 분해하기
Decomposition — 큰 문제를 작은 문제로
큰 문제는 한입에 삼키기 어려워요. 작은 문제 여러 개로 쪼개면 하나씩 해결할 수 있고, 친구들과 나눠 맡을 수도 있어요. 이것을 문제 분해(Decomposition)라고 합니다.
🌳 인터랙티브 · 분해 트리 만들기
큰 문제 카드를 클릭하면 작은 문제들로 쪼개져요. 작은 문제를 또 클릭하면 더 잘게 나뉘어요!
5. 패턴 인식하기
Pattern Recognition — 반복되는 규칙 찾기
여러 문제를 들여다보면 반복되는 규칙이나 공통된 모양이 보일 때가 있어요. 이 규칙을 한 번만 찾아내면, 비슷한 문제를 한꺼번에 해결할 수 있어요. 그게 바로 패턴 인식이에요.
🎨 예시: 반복되는 규칙
아래 그림은 "빨강-파랑-빨강-파랑…"이 반복돼요. 규칙을 알면 100번째 색도 바로 맞힐 수 있죠!
🧩 인터랙티브 · 다음에 올 것은?
규칙을 찾아서 ? 자리에 들어갈 것을 골라 보세요. 문제는 계속 바뀌어요!
🔬 종합 활동하기
"우리 반 1박 2일 수련회 계획"을 컴퓨팅 사고력으로!
미션: 아래 네 단계로 "수련회 계획"이라는 큰 문제를 정리해 봅시다.
✂️ ① 분해
큰 문제를 작은 일로 쪼개기 (예: 장소 정하기 / 일정 짜기 / 준비물 / 안전 점검)
🔁 ② 패턴 인식
작년·재작년 수련회와 반복되는 일 찾기 (예: 매년 버스 예약, 조 편성)
🔑 ③ 추상화
계획에 꼭 필요한 핵심만 남기기 (날짜·인원·예산 vs 날씨·옷차림)
🎯 ④ 상태 정의
초기(아무 계획 없음) → 목표(완성된 계획표) 적어 보기
참고 — 추상화는 컴퓨터 곳곳에 숨어 있어요 (성취기준 밖 심화)
🚗 자동차 운전대
엔진이 어떻게 도는지 몰라도 핸들·페달만으로 운전해요. 복잡한 속을 감춘 '인터페이스'가 추상화예요.
🧩 함수
여러 줄의 코드를 이름 하나로 묶어 부르는 함수. 속을 몰라도 이름만 알면 써요. (6차시에서 배워요!)
📁 폴더·아이콘
0과 1로 된 파일을 '폴더'·'휴지통' 그림으로 단순하게 보여 줘요.
🗺️ 지도·노선도
실제 길을 단순한 선·점으로. 목적에 필요한 것만 남긴 대표적 추상화!
🧠 분해 → 패턴 → 추상화 → 알고리즘
큰 문제를 분해하고, 반복되는 패턴을 찾고, 핵심만 추상화한 뒤, 차례대로 풀어내면 알고리즘이 돼요. 이렇게 큰 문제를 작은 문제로 나눠 푸는 방법을 컴퓨터과학에서는 '분할 정복(Divide & Conquer)'이라고 부른답니다.
핵심 한눈에 정리
큰 문제 → 작은 문제 여러 개
반복되는 규칙·공통점 찾기
핵심만 남기고 불필요한 것 생략
초기 → 현재 → 목표
스스로 점검하기
5문제로 오늘 배운 내용을 확인해요
"추상화"를 가장 잘 설명한 것은?
문제의 세 가지 상태가 아닌 것은?
큰 문제를 작은 문제 여러 개로 쪼개는 것은?
"빨강-노랑-빨강-노랑-…"에서 반복 규칙을 찾는 사고 방식은?
지하철 노선도가 추상화의 좋은 예인 까닭은?